package cn.itcast.hotel.service;

import cn.itcast.hotel.pojo.Hotel;
import cn.itcast.hotel.pojo.PageResult;
import cn.itcast.hotel.pojo.RequestParams;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IHotelService extends IService<Hotel> {
    /**
     * 根据关键字搜索酒店信息
     * @param requestParams  请求参数对象,包含了用户输入的关键字
     * @return 酒店文档列表
     */
    PageResult search(RequestParams requestParams) throws IOException;

    /**
     * 从聚合索引库中获得酒店的数据
     * @param params 请求参数
     * @return
     */
    Map<String, List<String>> getFilters(RequestParams params) throws IOException;

    /**
     * 拼音自动补全
     * @param key 用户搜索拼音
     * @return 返回一个装载key信息的集合
     */
    List<String> suggetions(String key);

    /**
     * 定义两个方法,来接收新增 , 修改 , 删除 酒店信息
     */

    /**
     * 添加,修改酒店信息
     * @param id 酒店id
     */
    void insertHotel(Long id);

    /**
     * 删除酒店信息
     * @param id 酒店id
     */
    void deleteHotel(Long id);
}
